Given the topology of a network, routing determines a path data packets may take from their source to a destination. In this regard, network switches can often provide multiple paths with potentially different maximum bandwidths. For example, a datacenter switch may include a plurality of egress ports used to uplink data entering the switch to its next hop destination. The egress ports can be connected to physical network links, which are capable of handling a number of bits per second (i.e. Kbps, Mbps and Gbps). Typically, alternate paths taken by data packets originating from different nodes in the network can create packet collisions. This may be caused by multiple data packets requesting the same destination. These collisions can create congestion in the network resulting in higher latency and lower throughput.